package eudjok
import groovy.sql.Sql
import java.sql.*
import java.util.*;
import java.text.*;

class ConsolidacaoJob {
    def timeout = 1000l // execute job once in 10 minutos

	def dataSource
	
    def execute() {
        println "teste"
		   
        def db = new Sql(dataSource) // Create a new instance of groovy.sql.Sql with the DB of the Grails app

        def result = db.rows("SELECT COUNT(*)as nota , c.* FROM  conteudo c, avaliacao a WHERE c.id=a.conteudo_id AND a.legal=1 GROUP BY c.id") 
		[ result: result ] // return the results as model

	
   
	SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
	java.util.Date data = new java.util.Date()
	String dateResult = dateFormat.format (data)
   
	//Sepera a data
	String [] separa_data = dateResult.split("-")
	
	def dia = separa_data[2]
	def mes = separa_data[1]
	def ano = separa_data[0]
	def tipo = ""
		
	result.each() {

		if (it.class == "eudjok.Musica") {
			tipo = "Musica"
		} else if (it.class == "eudjok.SetList") {
			tipo = "SetList"
		}
		else{
			tipo = ""
		}
		
 
		Sql sql = new Sql(dataSource)
		  sql.executeInsert("INSERT INTO avaliacao_consolidada "
				  + "(id , version , ano , avaliacao_negativa ," 
				  +  "avaliacao_positiva , conteudo_id , data_consolidacao ,"
				  +  "descricao , dia ,dj_id , hora , indicacoes ,"
				  + "mes , nome_dj , tipo , titulo , visitas ) "
					+ " VALUES ("
					+ "NULL,  ${it.version},  '${ano}', ${it.chato},  ${it.nota},   ${it.id},  '${dateResult}',"
					+ "'${it.descricao}',  '${dia}',  ${it.dj_id},  '3',  '5',  '${mes}',  'dede',  '${tipo}',  '${it.titulo}',  ${it.visitas})")

	
    } 
  } 
 }